﻿Public Class Usuario
    Dim objBBL As New BLLUsuario
    Sub limpa()
        txtlogin.Text = ""
        txtsenha.Text = ""
    End Sub
    Sub carrega_propriedades()
        Dim data As DateTime
        data = Date.Now()
        objBBL.plogin = txtlogin.Text
        objBBL.psenha = txtsenha.Text
        If rbadm.Checked Then
            objBBL.ppermissao = "Admin"
        Else
            objBBL.ppermissao = "Usuario"
        End If
        If rbati.Checked Then
            objBBL.pstatus = "Ativo"
        Else
            objBBL.pstatus = "Desativado"
        End If
        objBBL.pdata = data.ToShortDateString

    End Sub
    Private Sub bcadastrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcadastrar.Click
        Try
            Dim ret As Boolean
            If txtlogin.Text <> "" And txtsenha.Text <> "" Then
                carrega_propriedades()
                ret = objBBL.cadastrar()
                If ret = True Then
                    MessageBox.Show("Usuáio Cadastrado com sucesso")
                    limpa()
                End If
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub bsair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bsair.Click
        Me.Close()
    End Sub

    Private Sub bvoltar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    Private Sub blocalizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles blocalizar.Click
        Try
            Dim retorno As String = ""
            If txtlocalizar.Text <> "" Then 'verifica se não existe nenhum valor
                dgusuario.Enabled = True ' ativa o datagrid
                dgusuario.DataSource = objBBL.localizar(txtlocalizar.Text) ' o datagrid vai receber o valor da datatable
                'verificar se encontrou ou nao algum valor
                dgusuario.Columns(0).HeaderText = "Código" ' define o nome da coluna
                dgusuario.Columns(0).Width = 60 'define a largura da coluna
                dgusuario.Columns(1).HeaderText = "login"
                dgusuario.Columns(1).Width = 100
                dgusuario.Columns(2).HeaderText = "Status"
                dgusuario.Columns(2).Width = 100
                dgusuario.Columns(3).HeaderText = "Permissão"
                dgusuario.Columns(3).Width = 100
                dgusuario.Columns(4).HeaderText = "Data Cadastro"
                dgusuario.Columns(4).Width = 100
                If dgusuario.Rows.Count = 0 Then
                    dgusuario.Columns.Clear()

                    MessageBox.Show("Usuário não localizado")
                End If
            Else
                MessageBox.Show("Campo Vazio")
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally

        End Try
    End Sub

    Private Sub bbloquear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bbloquear.Click
        Dim indice As Integer
        Dim ret As Boolean
        Try
            indice = -1
            For Each linha As DataGridViewRow In dgusuario.SelectedRows 'acha a linha que o susario selecionou
                If (Not linha.Cells("usu_codigo") Is Nothing) Then 'mandei verificar pelo campo do codigo
                    indice = linha.Index 'quando acha linha ele guarda a posiçao
                End If
            Next
            If (indice <> -1) Then
                Dim status, codigo As String
                status = dgusuario.Rows(indice).Cells("usu_status").Value
                codigo = dgusuario.Rows(indice).Cells("usu_codigo").Value
                If status = "Ativo" Then
                    ret = objBBL.Bloquear(codigo)
                    If ret = True Then
                        MsgBox("Usuário desativado")
                        dgusuario.Columns.Clear()
                    End If
                Else
                    MsgBox("Já está bloqueado")
                End If
            Else
                MsgBox("selecione uma linha", MsgBoxStyle.Information)
            End If
        Catch
        End Try
    End Sub


    Private Sub bdesbloqueiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bdesbloqueiar.Click
        Dim indice As Integer
        Dim ret As Boolean
        Try
            indice = -1
            For Each linha As DataGridViewRow In dgusuario.SelectedRows 'acha a linha que o susario selecionou
                If (Not linha.Cells("usu_codigo") Is Nothing) Then 'mandei verificar pelo campo do codigo
                    indice = linha.Index 'quando acha linha ele guarda a posiçao
                End If
            Next
            If (indice <> -1) Then
                Dim status, codigo As String
                status = dgusuario.Rows(indice).Cells("usu_status").Value
                codigo = dgusuario.Rows(indice).Cells("usu_codigo").Value
                If status = "Desativado" Then
                    ret = objBBL.Ativar(codigo)
                    If ret = True Then
                        MsgBox("Usuário Ativado")
                        dgusuario.Columns.Clear()
                    End If
                Else
                    MsgBox("Já está Ativado")
                End If
            Else
                MsgBox("selecione uma linha", MsgBoxStyle.Information)
            End If
        Catch
        End Try
    End Sub

End Class